package com.service.impl;

import com.bean.Page;
import com.bean.Viedo;
import com.dao.ViedoDao;
import com.dao.impl.ViedoImpl;
import com.service.ViedoService;
import java.util.List;

public class ViedoServiceImpl implements ViedoService {
    ViedoDao viedoDao=new ViedoImpl();

    /**
     * 根据视频名字查找
     * @param vname
     * @return
     */
    @Override
    public List<Viedo> existsViedoname(String vname) {
        return viedoDao.queryViedovname(vname);
    }

    //根据ID删除视频
    @Override
    public int deleteVideoById(Integer id) {
        return viedoDao.deleteViedoid(id);
    }

    //添加视频
    @Override
    public int addViedos(Viedo viedo) {
        return viedoDao.addViedo(viedo);
    }

    //查询修改视频信息
    @Override
    public int updateViedos(Viedo viedo) {
        return viedoDao.updataViedo(viedo);
    }

    //查询视频信息集合
    @Override
    public List<Viedo> queryViedos() {
        return viedoDao.queryViedoAll();
    }

    //查询视频的页数数据
    @Override
    public Page<Viedo> page(int pageNo, int pageSize) {
        Page<Viedo> page = new Page<Viedo>();
        // 设置每页显示的数量
        page.setPageSize(pageSize);
        // 求总记录数
        Integer pageTotalCount = viedoDao.queryForPageTotalCount();
        // 设置总记录数
        page.setPageTotalCount(pageTotalCount);
        // 求总页码
        Integer pageTotal = pageTotalCount / pageSize;
        if (pageTotalCount % pageSize > 0) {
            pageTotal+=1;
        }
        // 设置总页码
        page.setPageTotal(pageTotal);
        // 设置当前页码
        page.setPageNo(pageNo);
        // 求当前页数据的开始索引
        int begin = (page.getPageNo() - 1) * pageSize;
        // 求当前页数据
        List<Viedo> items = viedoDao.queryForPageItems(begin,pageSize);
        // 设置当前页数据
        page.setItems(items);
        return page;
    }

    @Override
    public Integer queryForPageTotalCount() {
        return viedoDao.queryForPageTotalCount();
    }
}
